<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>blmc_robots: blmc_robots::SingleLeg Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { init_search(); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">blmc_robots
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('classblmc__robots_1_1SingleLeg.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classblmc__robots_1_1SingleLeg-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">blmc_robots::SingleLeg Class Reference</div>  </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:a37fdbf57313957a5773cb13f2ad7190c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a37fdbf57313957a5773cb13f2ad7190c"></a>
typedef Eigen::Matrix&lt; double, 2, 1 &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>Vector2d</b></td></tr>
<tr class="separator:a37fdbf57313957a5773cb13f2ad7190c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a926cd2dfc01483687d44259874450757"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a926cd2dfc01483687d44259874450757"></a>
typedef Eigen::Matrix&lt; double, 2, 1 &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>VectorSlider</b></td></tr>
<tr class="separator:a926cd2dfc01483687d44259874450757"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a1b1ef6964010aa2042b042ff3d5d864f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classblmc__robots_1_1SingleLeg.html#a1b1ef6964010aa2042b042ff3d5d864f">SingleLeg</a> ()</td></tr>
<tr class="memdesc:a1b1ef6964010aa2042b042ff3d5d864f"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classblmc__robots_1_1SingleLeg.html">SingleLeg</a> is the constructor of the class.  <a href="#a1b1ef6964010aa2042b042ff3d5d864f">More...</a><br /></td></tr>
<tr class="separator:a1b1ef6964010aa2042b042ff3d5d864f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a28891a4273cdcabc67bfd04dae75e8db"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a28891a4273cdcabc67bfd04dae75e8db"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classblmc__robots_1_1SingleLeg.html#a28891a4273cdcabc67bfd04dae75e8db">initialize</a> ()</td></tr>
<tr class="memdesc:a28891a4273cdcabc67bfd04dae75e8db"><td class="mdescLeft">&#160;</td><td class="mdescRight">initialize the robot by setting aligning the motors and calibrate the sensors to 0 <br /></td></tr>
<tr class="separator:a28891a4273cdcabc67bfd04dae75e8db"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac68163f459be877af9fb78f348729f9b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac68163f459be877af9fb78f348729f9b"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classblmc__robots_1_1SingleLeg.html#ac68163f459be877af9fb78f348729f9b">send_target_motor_current</a> (const Eigen::Ref&lt; Vector2d &gt; target_motor_current)</td></tr>
<tr class="memdesc:ac68163f459be877af9fb78f348729f9b"><td class="mdescLeft">&#160;</td><td class="mdescRight">send_target_torques sends the target currents to the motors <br /></td></tr>
<tr class="separator:ac68163f459be877af9fb78f348729f9b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0525a29e9b76527936525ca0e47cafe0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0525a29e9b76527936525ca0e47cafe0"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classblmc__robots_1_1SingleLeg.html#a0525a29e9b76527936525ca0e47cafe0">send_target_joint_torque</a> (const Eigen::Ref&lt; Vector2d &gt; target_joint_torque)</td></tr>
<tr class="memdesc:a0525a29e9b76527936525ca0e47cafe0"><td class="mdescLeft">&#160;</td><td class="mdescRight">send_target_torques sends the target currents to the motors <br /></td></tr>
<tr class="separator:a0525a29e9b76527936525ca0e47cafe0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a093a696ad34f00e92adcc4eb282a37d9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classblmc__robots_1_1SingleLeg.html#a093a696ad34f00e92adcc4eb282a37d9">acquire_sensors</a> ()</td></tr>
<tr class="memdesc:a093a696ad34f00e92adcc4eb282a37d9"><td class="mdescLeft">&#160;</td><td class="mdescRight">acquire_sensors acquire all available sensors, WARNING !!!! this method has to be called prior to any gettter to have up to date data.  <a href="#a093a696ad34f00e92adcc4eb282a37d9">More...</a><br /></td></tr>
<tr class="separator:a093a696ad34f00e92adcc4eb282a37d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2d95b70a9aca9f7faf503fd5c62f067f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2d95b70a9aca9f7faf503fd5c62f067f"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classblmc__robots_1_1SingleLeg.html#a2d95b70a9aca9f7faf503fd5c62f067f">zero_joint_positions</a> ()</td></tr>
<tr class="memdesc:a2d95b70a9aca9f7faf503fd5c62f067f"><td class="mdescLeft">&#160;</td><td class="mdescRight">zero_joint_positions Use the current motor position to set the zero position for the joint angles. <br /></td></tr>
<tr class="separator:a2d95b70a9aca9f7faf503fd5c62f067f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a39c69c6578b42df3d556e8a23c3e1861"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a39c69c6578b42df3d556e8a23c3e1861"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classblmc__robots_1_1SingleLeg.html#a39c69c6578b42df3d556e8a23c3e1861">disable_can_recv_timeout</a> ()</td></tr>
<tr class="memdesc:a39c69c6578b42df3d556e8a23c3e1861"><td class="mdescLeft">&#160;</td><td class="mdescRight">disable_can_recv_timeout Disable the disable_can_recv_timeout for all can boards. <br /></td></tr>
<tr class="separator:a39c69c6578b42df3d556e8a23c3e1861"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a52324fdf9779bb82141e2056b222b30f"><td class="memItemLeft" align="right" valign="top">const Eigen::Ref&lt; Vector2d &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classblmc__robots_1_1SingleLeg.html#a52324fdf9779bb82141e2056b222b30f">get_motor_positions</a> ()</td></tr>
<tr class="memdesc:a52324fdf9779bb82141e2056b222b30f"><td class="mdescLeft">&#160;</td><td class="mdescRight">get_motor_positions  <a href="#a52324fdf9779bb82141e2056b222b30f">More...</a><br /></td></tr>
<tr class="separator:a52324fdf9779bb82141e2056b222b30f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afd9b40fdddedd93e2a92114862846a5e"><td class="memItemLeft" align="right" valign="top">const Eigen::Ref&lt; Vector2d &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classblmc__robots_1_1SingleLeg.html#afd9b40fdddedd93e2a92114862846a5e">get_motor_velocities</a> ()</td></tr>
<tr class="memdesc:afd9b40fdddedd93e2a92114862846a5e"><td class="mdescLeft">&#160;</td><td class="mdescRight">get_motor_velocities  <a href="#afd9b40fdddedd93e2a92114862846a5e">More...</a><br /></td></tr>
<tr class="separator:afd9b40fdddedd93e2a92114862846a5e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6f9fea8b21a7fb58a95882ec3fe78a8d"><td class="memItemLeft" align="right" valign="top">const Eigen::Ref&lt; Vector2d &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classblmc__robots_1_1SingleLeg.html#a6f9fea8b21a7fb58a95882ec3fe78a8d">get_motor_currents</a> ()</td></tr>
<tr class="memdesc:a6f9fea8b21a7fb58a95882ec3fe78a8d"><td class="mdescLeft">&#160;</td><td class="mdescRight">get_motor_currents  <a href="#a6f9fea8b21a7fb58a95882ec3fe78a8d">More...</a><br /></td></tr>
<tr class="separator:a6f9fea8b21a7fb58a95882ec3fe78a8d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeae6fa29a8a5019d11a7aab9dd443e98"><td class="memItemLeft" align="right" valign="top">const Eigen::Ref&lt; Vector2d &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classblmc__robots_1_1SingleLeg.html#aeae6fa29a8a5019d11a7aab9dd443e98">get_motor_target_currents</a> ()</td></tr>
<tr class="memdesc:aeae6fa29a8a5019d11a7aab9dd443e98"><td class="mdescLeft">&#160;</td><td class="mdescRight">get_motor_target_currents  <a href="#aeae6fa29a8a5019d11a7aab9dd443e98">More...</a><br /></td></tr>
<tr class="separator:aeae6fa29a8a5019d11a7aab9dd443e98"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a11751bde3377207e56ded343e00a99f1"><td class="memItemLeft" align="right" valign="top">const Eigen::Ref&lt; Vector2d &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classblmc__robots_1_1SingleLeg.html#a11751bde3377207e56ded343e00a99f1">get_motor_torques</a> ()</td></tr>
<tr class="memdesc:a11751bde3377207e56ded343e00a99f1"><td class="mdescLeft">&#160;</td><td class="mdescRight">get_motor_torques  <a href="#a11751bde3377207e56ded343e00a99f1">More...</a><br /></td></tr>
<tr class="separator:a11751bde3377207e56ded343e00a99f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9f3277dbc3bc672e09dbdb51b7818d42"><td class="memItemLeft" align="right" valign="top">const Eigen::Ref&lt; Vector2d &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classblmc__robots_1_1SingleLeg.html#a9f3277dbc3bc672e09dbdb51b7818d42">get_target_motor_torques</a> ()</td></tr>
<tr class="memdesc:a9f3277dbc3bc672e09dbdb51b7818d42"><td class="mdescLeft">&#160;</td><td class="mdescRight">get_target_motor_torques  <a href="#a9f3277dbc3bc672e09dbdb51b7818d42">More...</a><br /></td></tr>
<tr class="separator:a9f3277dbc3bc672e09dbdb51b7818d42"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2be0f81bd58416d43614e2c6069ca471"><td class="memItemLeft" align="right" valign="top">const Eigen::Ref&lt; Vector2d &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classblmc__robots_1_1SingleLeg.html#a2be0f81bd58416d43614e2c6069ca471">get_motor_inertias</a> ()</td></tr>
<tr class="memdesc:a2be0f81bd58416d43614e2c6069ca471"><td class="mdescLeft">&#160;</td><td class="mdescRight">get_motor_inertias  <a href="#a2be0f81bd58416d43614e2c6069ca471">More...</a><br /></td></tr>
<tr class="separator:a2be0f81bd58416d43614e2c6069ca471"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aec4353d090ed7bd503d43b3e17671ded"><td class="memItemLeft" align="right" valign="top">const Eigen::Ref&lt; Vector2d &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classblmc__robots_1_1SingleLeg.html#aec4353d090ed7bd503d43b3e17671ded">get_motor_encoder_indexes</a> ()</td></tr>
<tr class="memdesc:aec4353d090ed7bd503d43b3e17671ded"><td class="mdescLeft">&#160;</td><td class="mdescRight">get_motor_encoder_indexes  <a href="#aec4353d090ed7bd503d43b3e17671ded">More...</a><br /></td></tr>
<tr class="separator:aec4353d090ed7bd503d43b3e17671ded"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a402a4e609e17fb304a113cb5c434b7e3"><td class="memItemLeft" align="right" valign="top">const Eigen::Ref&lt; Vector2d &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classblmc__robots_1_1SingleLeg.html#a402a4e609e17fb304a113cb5c434b7e3">get_motor_torque_constants</a> ()</td></tr>
<tr class="memdesc:a402a4e609e17fb304a113cb5c434b7e3"><td class="mdescLeft">&#160;</td><td class="mdescRight">get_motor_torque_constants  <a href="#a402a4e609e17fb304a113cb5c434b7e3">More...</a><br /></td></tr>
<tr class="separator:a402a4e609e17fb304a113cb5c434b7e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad69364827ba1f041bb45aec9ff678a74"><td class="memItemLeft" align="right" valign="top">const Eigen::Ref&lt; Vector2d &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classblmc__robots_1_1SingleLeg.html#ad69364827ba1f041bb45aec9ff678a74">get_joint_positions</a> ()</td></tr>
<tr class="memdesc:ad69364827ba1f041bb45aec9ff678a74"><td class="mdescLeft">&#160;</td><td class="mdescRight">get_joint_positions  <a href="#ad69364827ba1f041bb45aec9ff678a74">More...</a><br /></td></tr>
<tr class="separator:ad69364827ba1f041bb45aec9ff678a74"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aad4d838300a95db9e5e78aa465601591"><td class="memItemLeft" align="right" valign="top">const Eigen::Ref&lt; Vector2d &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classblmc__robots_1_1SingleLeg.html#aad4d838300a95db9e5e78aa465601591">get_joint_velocities</a> ()</td></tr>
<tr class="memdesc:aad4d838300a95db9e5e78aa465601591"><td class="mdescLeft">&#160;</td><td class="mdescRight">get_joint_velocities  <a href="#aad4d838300a95db9e5e78aa465601591">More...</a><br /></td></tr>
<tr class="separator:aad4d838300a95db9e5e78aa465601591"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adba890cb19a75df119a94d2f3b063ec2"><td class="memItemLeft" align="right" valign="top">const Eigen::Ref&lt; Vector2d &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classblmc__robots_1_1SingleLeg.html#adba890cb19a75df119a94d2f3b063ec2">get_joint_torques</a> ()</td></tr>
<tr class="memdesc:adba890cb19a75df119a94d2f3b063ec2"><td class="mdescLeft">&#160;</td><td class="mdescRight">get_joint_torques  <a href="#adba890cb19a75df119a94d2f3b063ec2">More...</a><br /></td></tr>
<tr class="separator:adba890cb19a75df119a94d2f3b063ec2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab28eb09362cee1b0eaa1a066d5f4d760"><td class="memItemLeft" align="right" valign="top">const Eigen::Ref&lt; Vector2d &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classblmc__robots_1_1SingleLeg.html#ab28eb09362cee1b0eaa1a066d5f4d760">get_joint_target_torques</a> ()</td></tr>
<tr class="memdesc:ab28eb09362cee1b0eaa1a066d5f4d760"><td class="mdescLeft">&#160;</td><td class="mdescRight">get_joint_torques  <a href="#ab28eb09362cee1b0eaa1a066d5f4d760">More...</a><br /></td></tr>
<tr class="separator:ab28eb09362cee1b0eaa1a066d5f4d760"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac697752c8bd67dc1f58360dbe46e57a6"><td class="memItemLeft" align="right" valign="top">const Eigen::Ref&lt; Vector2d &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classblmc__robots_1_1SingleLeg.html#ac697752c8bd67dc1f58360dbe46e57a6">get_joint_gear_ratios</a> ()</td></tr>
<tr class="memdesc:ac697752c8bd67dc1f58360dbe46e57a6"><td class="mdescLeft">&#160;</td><td class="mdescRight">get_joint_gear_ratios  <a href="#ac697752c8bd67dc1f58360dbe46e57a6">More...</a><br /></td></tr>
<tr class="separator:ac697752c8bd67dc1f58360dbe46e57a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3048925f67d4585e45200e6de05b73ac"><td class="memItemLeft" align="right" valign="top">const Eigen::Ref&lt; Vector2d &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classblmc__robots_1_1SingleLeg.html#a3048925f67d4585e45200e6de05b73ac">get_joint_encoder_index</a> ()</td></tr>
<tr class="memdesc:a3048925f67d4585e45200e6de05b73ac"><td class="mdescLeft">&#160;</td><td class="mdescRight">get_joint_encoder_index  <a href="#a3048925f67d4585e45200e6de05b73ac">More...</a><br /></td></tr>
<tr class="separator:a3048925f67d4585e45200e6de05b73ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a010c3169b55ae8bab809efaa986987a3"><td class="memItemLeft" align="right" valign="top">const Eigen::Ref&lt; Vector2d &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classblmc__robots_1_1SingleLeg.html#a010c3169b55ae8bab809efaa986987a3">get_zero_positions</a> ()</td></tr>
<tr class="memdesc:a010c3169b55ae8bab809efaa986987a3"><td class="mdescLeft">&#160;</td><td class="mdescRight">get_zero_positions  <a href="#a010c3169b55ae8bab809efaa986987a3">More...</a><br /></td></tr>
<tr class="separator:a010c3169b55ae8bab809efaa986987a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa0b97287dcf0195fe918e1b4c0e7b470"><td class="memItemLeft" align="right" valign="top">const Eigen::Ref&lt; Vector2d &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classblmc__robots_1_1SingleLeg.html#aa0b97287dcf0195fe918e1b4c0e7b470">get_slider_positions</a> ()</td></tr>
<tr class="memdesc:aa0b97287dcf0195fe918e1b4c0e7b470"><td class="mdescLeft">&#160;</td><td class="mdescRight">get_slider_positions  <a href="#aa0b97287dcf0195fe918e1b4c0e7b470">More...</a><br /></td></tr>
<tr class="separator:aa0b97287dcf0195fe918e1b4c0e7b470"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a662082708a0f24a120306e07490a0b70"><td class="memItemLeft" align="right" valign="top">const Eigen::Ref&lt; Vector2d &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classblmc__robots_1_1SingleLeg.html#a662082708a0f24a120306e07490a0b70">get_max_current</a> ()</td></tr>
<tr class="memdesc:a662082708a0f24a120306e07490a0b70"><td class="mdescLeft">&#160;</td><td class="mdescRight">get_max_current  <a href="#a662082708a0f24a120306e07490a0b70">More...</a><br /></td></tr>
<tr class="separator:a662082708a0f24a120306e07490a0b70"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ace93cc10397888f07ecf5e14583535f9"><td class="memItemLeft" align="right" valign="top">const Eigen::Ref&lt; Vector2d &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classblmc__robots_1_1SingleLeg.html#ace93cc10397888f07ecf5e14583535f9">get_max_joint_torque</a> ()</td></tr>
<tr class="memdesc:ace93cc10397888f07ecf5e14583535f9"><td class="mdescLeft">&#160;</td><td class="mdescRight">get_max_torque  <a href="#ace93cc10397888f07ecf5e14583535f9">More...</a><br /></td></tr>
<tr class="separator:ace93cc10397888f07ecf5e14583535f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a54007e95c258ec05b63169f202d3a3a0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classblmc__robots_1_1SingleLeg.html#a54007e95c258ec05b63169f202d3a3a0">set_max_current</a> (const Eigen::Ref&lt; Vector2d &gt; max_current)</td></tr>
<tr class="memdesc:a54007e95c258ec05b63169f202d3a3a0"><td class="mdescLeft">&#160;</td><td class="mdescRight">set_max_current sets the maximum current that the motor can to apply.  <a href="#a54007e95c258ec05b63169f202d3a3a0">More...</a><br /></td></tr>
<tr class="separator:a54007e95c258ec05b63169f202d3a3a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a1b1ef6964010aa2042b042ff3d5d864f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">blmc_robots::SingleLeg::SingleLeg </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><a class="el" href="classblmc__robots_1_1SingleLeg.html">SingleLeg</a> is the constructor of the class. </p>
<p>Motor data</p>
<p>Joint data</p>
<p>Additional data</p>
<p>Setup some known data</p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a093a696ad34f00e92adcc4eb282a37d9"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void blmc_robots::SingleLeg::acquire_sensors </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>acquire_sensors acquire all available sensors, WARNING !!!! this method has to be called prior to any gettter to have up to date data. </p>
<p>Motor data</p>
<p>Joint data</p>
<p>Additional data</p>

</div>
</div>
<a class="anchor" id="a3048925f67d4585e45200e6de05b73ac"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const Eigen::Ref&lt;Vector2d&gt; blmc_robots::SingleLeg::get_joint_encoder_index </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>get_joint_encoder_index </p>
<dl class="section return"><dt>Returns</dt><dd>The last observed encoder index in joint coordinates. </dd></dl>

</div>
</div>
<a class="anchor" id="ac697752c8bd67dc1f58360dbe46e57a6"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const Eigen::Ref&lt;Vector2d&gt; blmc_robots::SingleLeg::get_joint_gear_ratios </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>get_joint_gear_ratios </p>
<dl class="section return"><dt>Returns</dt><dd>the joint gear ratios </dd></dl>

</div>
</div>
<a class="anchor" id="ad69364827ba1f041bb45aec9ff678a74"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const Eigen::Ref&lt;Vector2d&gt; blmc_robots::SingleLeg::get_joint_positions </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>get_joint_positions </p>
<dl class="section return"><dt>Returns</dt><dd>the joint angle of each module </dd></dl>

</div>
</div>
<a class="anchor" id="ab28eb09362cee1b0eaa1a066d5f4d760"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const Eigen::Ref&lt;Vector2d&gt; blmc_robots::SingleLeg::get_joint_target_torques </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>get_joint_torques </p>
<dl class="section return"><dt>Returns</dt><dd>the target joint torques </dd></dl>

</div>
</div>
<a class="anchor" id="adba890cb19a75df119a94d2f3b063ec2"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const Eigen::Ref&lt;Vector2d&gt; blmc_robots::SingleLeg::get_joint_torques </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>get_joint_torques </p>
<dl class="section return"><dt>Returns</dt><dd>the joint torques </dd></dl>

</div>
</div>
<a class="anchor" id="aad4d838300a95db9e5e78aa465601591"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const Eigen::Ref&lt;Vector2d&gt; blmc_robots::SingleLeg::get_joint_velocities </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>get_joint_velocities </p>
<dl class="section return"><dt>Returns</dt><dd>the joint velocities </dd></dl>

</div>
</div>
<a class="anchor" id="a662082708a0f24a120306e07490a0b70"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const Eigen::Ref&lt;Vector2d&gt; blmc_robots::SingleLeg::get_max_current </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>get_max_current </p>
<dl class="section return"><dt>Returns</dt><dd>the max current that has been hard-coded in the constructor of this class. TODO: parametrize this via YAML or something else. </dd></dl>

</div>
</div>
<a class="anchor" id="ace93cc10397888f07ecf5e14583535f9"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const Eigen::Ref&lt;Vector2d&gt; blmc_robots::SingleLeg::get_max_joint_torque </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>get_max_torque </p>
<dl class="section return"><dt>Returns</dt><dd>the max torque that has been hard-coded in the constructor of this class. TODO: parametrize this via YAML or something else. </dd></dl>

</div>
</div>
<a class="anchor" id="a6f9fea8b21a7fb58a95882ec3fe78a8d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const Eigen::Ref&lt;Vector2d&gt; blmc_robots::SingleLeg::get_motor_currents </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>get_motor_currents </p>
<dl class="section return"><dt>Returns</dt><dd>the current motors currents in (Ampere: A). </dd></dl>

</div>
</div>
<a class="anchor" id="aec4353d090ed7bd503d43b3e17671ded"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const Eigen::Ref&lt;Vector2d&gt; blmc_robots::SingleLeg::get_motor_encoder_indexes </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>get_motor_encoder_indexes </p>
<dl class="section return"><dt>Returns</dt><dd>the position of the index of the encoders a the motor level </dd></dl>

</div>
</div>
<a class="anchor" id="a2be0f81bd58416d43614e2c6069ca471"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const Eigen::Ref&lt;Vector2d&gt; blmc_robots::SingleLeg::get_motor_inertias </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>get_motor_inertias </p>
<dl class="section return"><dt>Returns</dt><dd>the motor inertias </dd></dl>

</div>
</div>
<a class="anchor" id="a52324fdf9779bb82141e2056b222b30f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const Eigen::Ref&lt;Vector2d&gt; blmc_robots::SingleLeg::get_motor_positions </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>get_motor_positions </p>
<dl class="section return"><dt>Returns</dt><dd>the current motors positions (rad). </dd></dl>

</div>
</div>
<a class="anchor" id="aeae6fa29a8a5019d11a7aab9dd443e98"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const Eigen::Ref&lt;Vector2d&gt; blmc_robots::SingleLeg::get_motor_target_currents </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>get_motor_target_currents </p>
<dl class="section return"><dt>Returns</dt><dd>the target current motors currents in (Ampere: A). </dd></dl>

</div>
</div>
<a class="anchor" id="a402a4e609e17fb304a113cb5c434b7e3"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const Eigen::Ref&lt;Vector2d&gt; blmc_robots::SingleLeg::get_motor_torque_constants </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>get_motor_torque_constants </p>
<dl class="section return"><dt>Returns</dt><dd>the torque constants of each motor </dd></dl>

</div>
</div>
<a class="anchor" id="a11751bde3377207e56ded343e00a99f1"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const Eigen::Ref&lt;Vector2d&gt; blmc_robots::SingleLeg::get_motor_torques </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>get_motor_torques </p>
<dl class="section return"><dt>Returns</dt><dd>the motor torques in Nm </dd></dl>

</div>
</div>
<a class="anchor" id="afd9b40fdddedd93e2a92114862846a5e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const Eigen::Ref&lt;Vector2d&gt; blmc_robots::SingleLeg::get_motor_velocities </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>get_motor_velocities </p>
<dl class="section return"><dt>Returns</dt><dd>the current motors velocities (rad/s). </dd></dl>

</div>
</div>
<a class="anchor" id="aa0b97287dcf0195fe918e1b4c0e7b470"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const Eigen::Ref&lt;Vector2d&gt; blmc_robots::SingleLeg::get_slider_positions </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>get_slider_positions </p>
<dl class="section return"><dt>Returns</dt><dd>the current sliders positions. </dd></dl>

</div>
</div>
<a class="anchor" id="a9f3277dbc3bc672e09dbdb51b7818d42"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const Eigen::Ref&lt;Vector2d&gt; blmc_robots::SingleLeg::get_target_motor_torques </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>get_target_motor_torques </p>
<dl class="section return"><dt>Returns</dt><dd>the target motor torques in Nm </dd></dl>

</div>
</div>
<a class="anchor" id="a010c3169b55ae8bab809efaa986987a3"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const Eigen::Ref&lt;Vector2d&gt; blmc_robots::SingleLeg::get_zero_positions </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>get_zero_positions </p>
<dl class="section return"><dt>Returns</dt><dd>the position where the robot should be in "zero" configuration </dd></dl>

</div>
</div>
<a class="anchor" id="a54007e95c258ec05b63169f202d3a3a0"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void blmc_robots::SingleLeg::set_max_current </td>
          <td>(</td>
          <td class="paramtype">const Eigen::Ref&lt; Vector2d &gt;&#160;</td>
          <td class="paramname"><em>max_current</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>set_max_current sets the maximum current that the motor can to apply. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">max_current</td><td>contain 1 value per each motors. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>/workspace/software/workspace/src/catkin/robots/blmc_robots/include/blmc_robots/<a class="el" href="single__leg_8hpp_source.html">single_leg.hpp</a></li>
<li>/workspace/software/workspace/src/catkin/robots/blmc_robots/src/single_leg.cpp</li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="namespaceblmc__robots.html">blmc_robots</a></li><li class="navelem"><a class="el" href="classblmc__robots_1_1SingleLeg.html">SingleLeg</a></li>
    <li class="footer">Generated by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.11 </li>
  </ul>
</div>
</body>
</html>
